本节介绍用函数近似(function approximation)方法来估计给定策略π的状态价值函数vπ或动作价值函数qπ。要评估状态价值,我们可以用一个参数为w的函数v(s;w)(s∈S)来近似状态价值;要评估动作价值,我们可以用一个参数为w的函数q(s,a;w)(s∈S,a∈A(s))来近似动作价值。在动作集A有限的情况下,还可以用一个矢量函数q(s;w)=(q(s,a;w):a∈A)(s∈S)来近似动作价值。矢量函数q(s;w)的每一个元素对应着一个动作,而整个矢量函数除参数外只用状态作为输入。这里的函数v(s;w)s∈S)、q(s,a;w)(s∈S,a∈A(s))、q(s;w)(s∈S)形式不限,可以是线性函数,也可以是神经网络。但是,它们的形式需要事先给定,在学习过程中只更新参数w。一旦参数w完全确定,价值估计就完全给定。所以,本节将介绍如何更新参数w。更新参数的方法既可以用于策略价值评估,也可以用于最优策略求解。
7.1 目标预测(VE)
到目前为止,我们还没有为预测指定一个明确的目标。在使用表格的情况下,预测质量的连续测量是不必要的,因为学习的值函数可以完全等于真值函数。此外,每个状态下的学习值是解耦的,一个状态下的更新不会影响其他状态。但是在真正的近似中,一个状态的更新会影响到许多其他状态,而且不可能得到所有状态的值完全正确。根据假设,我们的状态比权重多得多,所以使一个状态的估计更准确必然意味着使其他状态的估计更不准确。那么我们有必要指出我们最关心的状态。我们必须指定一个状态分布μ(s)≥0,∑sμ(s)=1,代表我们对每个状态s的误差的关心程度,所谓状态s的误差是指近似值v(s,w)与真实值v(s)之差的平方。将其在状态空间中的权重为μ,我们得到一个自然的目标函数,即均值平方误差(Mean SquaredValue Error),表示为VE。